home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d12
/
stpdos12.arc
/
STEPDOS.DOC
< prev
Wrap
Text File
|
1987-12-05
|
7KB
|
136 lines
STEPDOS
by
Mike Parker
2374 Meadowpark Court
Maryland Heights, MO 63043
CIS 70270,161
11/21/87
Version 1.2
============================================================
Program Description
============================================================
STEPDOS is a program written in assembly language that intercepts DOS
interrupt 21H then executes the target program specified on the command
line as a subprocess. Each time the target program does an 'INT 21H' call,
STEPDOS takes over. A 'pop-up window' is displayed with the values of
all registers and a description of what the DOS call is about to do.
STEPDOS detects whether a CGA or Monochrome adapter is installed and will
determine which video page is currently active each time it puts up the
information window.
============================================================
Program Execution
============================================================
There is a program included in the STEPDOS.ARC file called DEMO.COM
that will give a short demonstration of STEPDOS's capabilities.
DEMO.COM does three functions.
1) Outputs a string using calls to DOS function code 02h (Display Character).
2) Checks keyboard input status.
3) Terminates itself.
For this demonstration first clear the screen by typing CLS <return>.
Make sure DEMO.COM is in your current directory and type:
STEPDOS DEMO <return>
A window will pop up showing something like:
+-----------------------------------------------------------------------+
| AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
| ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
| 02xx xxxx xxxx xx54 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
| |
| |
| Output Character Hex 54 ASCII T |
| |
| Skip Current Func Return Code ESC - Non Stop xxxx - Move Window |
+-----------------------------------------------------------------------+
The xxxx's under the register names above just mean that what you actually
see could be anything, only AH and DL are important right here.
Press any key except 'S', 'R', the ARROW keys or 'ESCAPE' to execute the
DOS function.
The character 'T' will be displayed at the current cursor position and the
STEPDOS window will come up again with:
+-----------------------------------------------------------------------+
| AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
| ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
| 02xx xxxx xxxx xx68 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
| |
| |
| Output Character Hex 68 ASCII h |
| |
| Skip Current Func Return Code ESC - Non Stop xxxx - Move Window |
+-----------------------------------------------------------------------+
Press a key and the 'h' character will appear after the 'T'.
To keep you from having to press a key to display each character of a
potentially long text string use the 'Skip Current Func' option.
This tells STEPDOS to run nonstop as long as the current function (in this
case 02h) is being repeated by the target program.
When a function code other than 02h is executed, STEPDOS will resume display.
Now press 'S' to finish displaying the demo string. The following will appear:
+-----------------------------------------------------------------------+
| AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
| ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
| 0Bxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
| |
| |
| Check Standard Input Status |
| |
| Skip Current Func Return Code ESC - Non Stop xxxx - Move Window |
+-----------------------------------------------------------------------+
To see how the 'Return Code' option works press the 'R' key and you
will see:
+-----------------------------------------------------------------------+
| AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
| ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
| 0B00 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
| |
| |
| Return Code = 0B00H Carry Flag = 0 Zero Flag = 1 |
| |
| Press Any Key To Continue |
+-----------------------------------------------------------------------+
This is the result immediately after the INT 21h code is executed.
Press any key to see:
+-----------------------------------------------------------------------+
| AX BX CX DX DI SI BP SP DS ES SS CS IP FL |
| ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- |
| 4C00 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx |
| |
| |
| Terminate Process With Return Code 00H |
| |
| Skip Current Func Return Code ESC - Non Stop xxxx - Move Window |
+-----------------------------------------------------------------------+
If the window is covering up a part of the screen you would like to see,
press any of the cursor positioning keys on the numeric keypad and the
window will move.
Press a key and STEPDOS will end, returning you to the DOS prompt.